using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;

namespace MJB.UI.ContentEditor {

    /// <summary>
    /// This class is used in the KeyWordsGeneratorWindow to display
    /// which keywords were found and which ones are selected.
    /// </summary>
    public class KeyWord : DependencyObject {

        #region Public Members

        /// <summary>
        /// The word dependency property.
        /// </summary>
        public static DependencyProperty WordProperty = DependencyProperty.Register("WordProperty",
            typeof(string),
            typeof(KeyWord),
            new PropertyMetadata(String.Empty));

        /// <summary>
        /// The count dependency property.
        /// </summary>
        public static DependencyProperty CountProperty = DependencyProperty.Register("Count",
            typeof(int),
            typeof(KeyWord),
            new PropertyMetadata(1));

        /// <summary>
        /// The length dependency property.
        /// </summary>
        public static DependencyProperty LengthProperty = DependencyProperty.Register("Length",
            typeof(int),
            typeof(KeyWord),
            new PropertyMetadata(0));

        #endregion
        #region Constructor

        /// <summary>
        /// Creates the keyword.
        /// </summary>
        public KeyWord() {
        }

        #endregion
        #region Public Properties

        /// <summary>
        /// Gets / sets the word.
        /// </summary>
        public string Word {
            get {
                return (string)GetValue(WordProperty);
            }
            set {
                SetValue(WordProperty, value);
            }
        }

        /// <summary>
        /// Gets / sets the count property.
        /// </summary>
        public int Count {
            get {
                return (int)GetValue(CountProperty);
            }
            set {
                SetValue(CountProperty, value);
            }
        }

        /// <summary>
        /// Gets / sets the length property.
        /// </summary>
        public int Length {
            get {
                return (int)GetValue(LengthProperty);
            }
            set {
                SetValue(LengthProperty, value);
            }
        }

        #endregion

    }

}
